<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0</TargetFrameworks>
    <TargetFrameworks Condition="'$(NetCoreAppPrevious)' != ''">$(TargetFrameworks);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <IncludeInternalObsoleteAttribute>true</IncludeInternalObsoleteAttribute>
    <NoWarn>$(NoWarn);IDE0059;IDE0060;CA1822;CA1865</NoWarn>
    <EnableAOTAnalyzer>false</EnableAOTAnalyzer>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <IsPackable>true</IsPackable>
    <AddNETFrameworkPlaceholderFileToPackage>true</AddNETFrameworkPlaceholderFileToPackage>
    <AddNETFrameworkAssemblyReferenceToPackage>true</AddNETFrameworkAssemblyReferenceToPackage>
    <PackageDescription>Provides easy access to Active Directory Domain Services.

Commonly Used Types:
System.DirectoryServices.DirectoryEntry
System.DirectoryServices.DirectorySearcher
System.DirectoryServices.ActiveDirectory.ActiveDirectorySite
System.DirectoryServices.ActiveDirectory.ApplicationPartition
System.DirectoryServices.ActiveDirectory.DirectoryContext
System.DirectoryServices.ActiveDirectory.DirectoryServer
System.DirectoryServices.ActiveDirectory.Domain
System.DirectoryServices.ActiveDirectory.DomainController</PackageDescription>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <TargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetPlatformIdentifier)' != 'windows'">SR.DirectoryServices_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
  </PropertyGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <Compile Include="System.DirectoryServices.Forwards.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectorySecurity.cs" />
    <Compile Include="System\DirectoryServices\AdsVLV.cs" />
    <Compile Include="System\DirectoryServices\AuthenticationTypes.cs" />
    <Compile Include="System\DirectoryServices\DerefAlias.cs" />
    <Compile Include="System\DirectoryServices\DirectoryEntries.cs" />
    <Compile Include="System\DirectoryServices\DirectoryEntry.cs">
      <SubType>Component</SubType>
    </Compile>
    <Compile Include="System\DirectoryServices\DirectoryEntryConfiguration.cs" />
    <Compile Include="System\DirectoryServices\DirectorySearcher.cs">
      <SubType>Component</SubType>
    </Compile>
    <Compile Include="System\DirectoryServices\DirectorySynchronization.cs" />
    <Compile Include="System\DirectoryServices\DirectorySynchronizationFlags.cs" />
    <Compile Include="System\DirectoryServices\DirectoryVirtualListView.cs" />
    <Compile Include="System\DirectoryServices\DirectoryVirtualListViewContext.cs" />
    <Compile Include="System\DirectoryServices\ExtendedDn.cs" />
    <Compile Include="System\DirectoryServices\PasswordEncodingMethod.cs" />
    <Compile Include="System\DirectoryServices\PropertyCollection.cs" />
    <Compile Include="System\DirectoryServices\PropertyValueCollection.cs" />
    <Compile Include="System\DirectoryServices\ReferalChasingOption.cs" />
    <Compile Include="System\DirectoryServices\ResultPropertyCollection.cs" />
    <Compile Include="System\DirectoryServices\ResultPropertyValueCollection.cs" />
    <Compile Include="System\DirectoryServices\SchemaNameCollection.cs" />
    <Compile Include="System\DirectoryServices\SearchResult.cs" />
    <Compile Include="System\DirectoryServices\SearchResultCollection.cs" />
    <Compile Include="System\DirectoryServices\SearchScope.cs" />
    <Compile Include="System\DirectoryServices\SecurityMasks.cs" />
    <Compile Include="System\DirectoryServices\SortDirection.cs" />
    <Compile Include="System\DirectoryServices\SortOption.cs" />
    <Compile Include="System\DirectoryServices\DirectoryServicesCOMException.cs" />
    <Compile Include="System\DirectoryServices\Design\DirectoryEntryConverter.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectoryPartition.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectoryReplicationMetaData.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySchedule.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySchema.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySchemaClass.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySchemaClassCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySchemaProperty.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySchemaPropertyCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySite.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySiteCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySiteLink.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySiteLinkBridge.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySiteLinkCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySubnet.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySubnetCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectorySyntax.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ADAMInstance.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ADAMInstanceCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ADSearcher.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ApplicationPartition.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ApplicationPartitionCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\AttributeMetaData.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\AttributeMetadataCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ConfigSet.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DirectoryContext.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DirectoryEntryManager.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DirectoryServer.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DirectoryServerCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\Domain.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DomainCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DomainController.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\DomainControllerCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\Exception.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\Forest.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ForestTrustCollision.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ForestTrustDomainInfoCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ForestTrustDomainInformation.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ForestTrustRelationshipInformation.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\GlobalCatalog.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\GlobalCatalogCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\Locator.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\LocatorFlag.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\NativeMethods.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\PropertyManager.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlyActiveDirectorySchemaClassCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlyActiveDirectorySchemaPropertyCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlyDirectoryServerCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlySiteCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlySiteLinkBridgeCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlySiteLinkCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReadOnlyStringCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationConnection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationConnectionCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationCursor.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationCursorCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationFailure.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationFailureCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationNeighbor.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationNeighborCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationOperation.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationOperationCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ReplicationOperationInformation.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\ActiveDirectoryInterSiteTransport.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\RoleOwner.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\RoleOwnerCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\SecurityLevel.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\SystemFlag.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\TopLevelName.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\TopLevelNameCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\TrustHelper.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\TrustRelationshipInformation.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\TrustRelationshipInformationCollection.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\UnsafeNativeMethods.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\Utils.cs" />
    <Compile Include="System\DirectoryServices\ActiveDirectory\WellKnownDN.cs" />
    <Compile Include="Interop\AdsOptions.cs" />
    <Compile Include="Interop\AdsPropertyOperation.cs" />
    <Compile Include="Interop\AdsSearchColumn.cs" />
    <Compile Include="Interop\AdsSearchPreferenceInfo.cs" />
    <Compile Include="Interop\AdsSearchPreferences.cs" />
    <Compile Include="Interop\AdsSortKey.cs" />
    <Compile Include="Interop\AdsType.cs" />
    <Compile Include="Interop\AdsValue2.cs" />
    <Compile Include="Interop\AdsValueHelper2.cs" />
    <Compile Include="Interop\EnumVariant.cs" />
    <Compile Include="Interop\NativeMethods.cs" />
    <Compile Include="Interop\UnsafeNativeMethods.cs" />

    <Compile Include="$(CommonPath)DisableRuntimeMarshalling.cs"
             Link="Common\DisableRuntimeMarshalling.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.BOOL.cs"
             Link="Common\Interop\Windows\Interop.BOOL.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.BOOLEAN.cs"
             Link="Common\Interop\Windows\Interop.BOOLEAN.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.Errors.cs"
             Link="Common\Interop\Windows\Interop.Errors.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.Libraries.cs"
             Link="Common\Interop\Windows\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.OBJECT_ATTRIBUTES.cs"
             Link="Common\Interop\Windows\Interop.OBJECT_ATTRIBUTES.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.SECURITY_QUALITY_OF_SERVICE.cs"
             Link="Common\Interop\Windows\Interop.SECURITY_QUALITY_OF_SERVICE.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.UNICODE_STRING.cs"
             Link="Common\Interop\Windows\Interop.UNICODE_STRING.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Activeds\Interop.ADsEncodeBinaryData.cs"
             Link="Common\Interop\Windows\Activeds\Interop.ADsEncodeBinaryData.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Activeds\Interop.ADsGetLastError.cs"
             Link="Common\Interop\Windows\Activeds\Interop.ADsGetLastError.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Activeds\Interop.ADsOpenObject.cs"
             Link="Common\Interop\Windows\Activeds\Interop.ADsOpenObject.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Activeds\Interop.ADsSetLastError.cs"
             Link="Common\Interop\Windows\Activeds\Interop.ADsSetLastError.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Activeds\Interop.FreeADsMem.cs"
             Link="Common\Interop\Windows\Activeds\Interop.FreeADsMem.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.ConvertSidToStringSid.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.ConvertSidToStringSid.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.ConvertStringSidToSid.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.ConvertStringSidToSid.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.CopySid.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.CopySid.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.EqualDomainSid.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.EqualDomainSid.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.GetLengthSid.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.GetLengthSid.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.GetSidIdentifierAuthority.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.GetSidIdentifierAuthority.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.GetTokenInformation.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.GetTokenInformation.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.ImpersonateAnonymousToken.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.ImpersonateAnonymousToken.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.ImpersonateLoggedOnUser_IntPtr.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.ImpersonateLoggedOnUser_IntPtr.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.IsValidSid.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.IsValidSid.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LogonUser.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LogonUser.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaClose.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaClose.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaCreateTrustedDomainEx.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaCreateTrustedDomainEx.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaDeleteTrustedDomain.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaDeleteTrustedDomain.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaFreeMemory.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaFreeMemory.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaNtStatusToWinError.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaNtStatusToWinError.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaOpenPolicy.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaOpenPolicy.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaQueryInformationPolicy.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaQueryInformationPolicy.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaQueryForestTrustInformation.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaQueryForestTrustInformation.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaQueryTrustedDomainInfoByName.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaQueryTrustedDomainInfoByName.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaSetForestTrustInformation.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaSetForestTrustInformation.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.LsaSetTrustedDomainInfoByName.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.LsaSetTrustedDomainInfoByName.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.OpenThreadToken_SafeTokenHandle.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.OpenThreadToken_SafeTokenHandle.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.OpenProcessToken.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.OpenProcessToken.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.RevertToSelf.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.RevertToSelf.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.TOKEN_INFORMATION_CLASS.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.TOKEN_INFORMATION_CLASS.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.TRUSTED_DOMAIN_FULL_INFORMATION.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.TRUSTED_DOMAIN_FULL_INFORMATION.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.TRUSTED_INFORMATION_CLASS.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.TRUSTED_INFORMATION_CLASS.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Advapi32\Interop.TRUSTED_POSIX_OFFSET_INFO.cs"
             Link="Common\Interop\Windows\Advapi32\Interop.TRUSTED_POSIX_OFFSET_INFO.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.CloseHandle.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.CloseHandle.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.CompareString.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.CompareString.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.FreeLibrary.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.FreeLibrary.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.GetCurrentProcess.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.GetCurrentProcess.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.GetCurrentThread.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.GetCurrentThread.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.GetCurrentThreadId.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.GetCurrentThreadId.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.GetProcAddress.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.GetProcAddress.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.GetSystemTimeAsFileTime.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.GetSystemTimeAsFileTime.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.LoadLibrary.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.LoadLibrary.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.LocalFree.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.LocalFree.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.OpenThread_IntPtr.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.OpenThread_IntPtr.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\OleAut32\Interop.VariantClear.cs"
             Link="Common\Interop\Windows\OleAut32\Interop.VariantClear.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\OleAut32\Interop.VariantInit.cs"
             Link="Common\Interop\Windows\OleAut32\Interop.VariantInit.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DS_DOMAIN_TRUSTS.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DS_DOMAIN_TRUSTS.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DS_DOMAINTRUST_FLAG.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DS_DOMAINTRUST_FLAG.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsEnumerateDomainTrustsW.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsEnumerateDomainTrustsW.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsGetDcClose.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsGetDcClose.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsGetDcName.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsGetDcName.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsGetDcNext.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsGetDcNext.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsGetDcOpen.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsGetDcOpen.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsGetSiteName.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsGetSiteName.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsRoleFreeMemory.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsRoleFreeMemory.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.I_NetLogonControl2.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.I_NetLogonControl2.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.DsRoleGetPrimaryDomainInformation.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.DsRoleGetPrimaryDomainInformation.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Netapi32\Interop.NetApiBufferFree.cs"
             Link="Common\Interop\Windows\Netapi32\Interop.NetApiBufferFree.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\NtDll\Interop.NtStatus.cs"
             Link="Common\Interop\Windows\NtDll\Interop.NtStatus.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\NtDll\Interop.RtlInitUnicodeString.cs"
             Link="Common\Interop\Windows\NtDll\Interop.RtlInitUnicodeString.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Secur32\Interop.LsaCallAuthenticationPackage.cs"
             Link="Common\Interop\Windows\Secur32\Interop.LsaCallAuthenticationPackage.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Secur32\Interop.LsaConnectUntrusted.cs"
             Link="Common\Interop\Windows\Secur32\Interop.LsaConnectUntrusted.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Secur32\Interop.LsaDeregisterLogonProcess.cs"
             Link="Common\Interop\Windows\Secur32\Interop.LsaDeregisterLogonProcess.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Secur32\Interop.LsaFreeReturnBuffer.cs"
             Link="Common\Interop\Windows\Secur32\Interop.LsaFreeReturnBuffer.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Secur32\Interop.LsaLogonProcessSafeHandle.cs"
             Link="Common\Interop\Windows\Secur32\Interop.LsaLogonProcessSafeHandle.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\SspiCli\Interop.TOKENS.cs"
             Link="Common\Interop\Windows\SspiCli\Interop.TOKENS.cs" />
    <Compile Include="$(CommonPath)Microsoft\Win32\SafeHandles\SafeLibraryHandle.cs"
             Link="Common\Microsoft\Win32\SafeHandles\SafeLibraryHandle.cs" />
    <Compile Include="$(CommonPath)Microsoft\Win32\SafeHandles\SafeLsaPolicyHandle.cs"
             Link="Common\Microsoft\Win32\SafeHandles\SafeLsaPolicyHandle.cs" />
    <Compile Include="$(CommonPath)Microsoft\Win32\SafeHandles\SafeTokenHandle.cs"
             Link="Common\Microsoft\Win32\SafeHandles\SafeTokenHandle.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs"
             Link="System\Obsoletions.cs" />
  </ItemGroup>

  <ItemGroup>
    <!-- Use of 'PrivateAssets=all' removes the package reference to S.S.P since S.S.P has references to other packages that are not desired.
    S.S.P only contains DirectoryServices obsolete types including DirectoryServicesPermission.-->
    <ProjectReference Include="$(LibrariesProjectRoot)System.Security.Permissions\src\System.Security.Permissions.csproj" PrivateAssets="all" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'">
    <PackageReference Include="System.IO.FileSystem.AccessControl" Version="$(SystemIOFileSystemAccessControlVersion)" />
    <PackageReference Include="System.Security.AccessControl" Version="$(SystemSecurityAccessControlVersion)" />
    <PackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsVersion)" />
  </ItemGroup>

</Project>
